#ifndef TT_AV_DEVICE_MANAGER_IMPL_HXX
#define TT_AV_DEVICE_MANAGER_IMPL_HXX

#include "DeviceManager.h"


class DeviceManagerImpl : public DeviceManager
{
public:
	DeviceManagerImpl(){}
	~DeviceManagerImpl(){}

	virtual bool Init() override;

	virtual void Terminate() override;

	virtual int GetNumOfRecordingDevices() override;

	virtual int GetRecordingDeviceName(int index, char strNameUTF8[128], char strGuidUTF8[128]) override;

	virtual int SetRecordingDevice(int index) override;

	virtual int GetNumOfPlayoutDevices() override;

	virtual int GetPlayoutDeviceName(int index, char strNameUTF8[128], char strGuidUTF8[128]) override;

	virtual int SetPlayoutDevice(int index) override;

	virtual int SetLoudspeakerStatus(bool yesno) override;

	virtual int NumberOfCaptureDevices() override;

	virtual int GetCaptureDeviceOfIndex(int index, char* deviceNameUTF8, const unsigned int deviceNameUTF8Length, char* uniqueIdUTF8, const unsigned int uniqueIdUTF8Length) override;

	virtual int GetCameraOrientation(int cam_index) override;

};

#endif

